<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>fft_generic [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_filters.html">过滤器</a> / <a href="toc_filters_fft.html">FFT</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">fft_generic</span><span data-if="c" style="display:none;">fft_generic</span><span data-if="cpp" style="display:none;">FftGeneric</span><span data-if="dotnet" style="display:none;">FftGeneric</span><span data-if="python" style="display:none;">fft_generic</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">fft_generic</span><span data-if="c" style="display:none;">fft_generic</span><span data-if="cpp" style="display:none;">FftGeneric</span><span data-if="dotnet" style="display:none;">FftGeneric</span><span data-if="python" style="display:none;">fft_generic</span></code> — Compute the fast Fourier transform of an image.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>fft_generic</b>(<a href="#Image"><i>Image</i></a> : <a href="#ImageFFT"><i>ImageFFT</i></a> : <a href="#Direction"><i>Direction</i></a>, <a href="#Exponent"><i>Exponent</i></a>, <a href="#Norm"><i>Norm</i></a>, <a href="#Mode"><i>Mode</i></a>, <a href="#ResultType"><i>ResultType</i></a> : )</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>fft_generic</b>(const Hobject <a href="#Image"><i>Image</i></a>, Hobject* <a href="#ImageFFT"><i>ImageFFT</i></a>, const char* <a href="#Direction"><i>Direction</i></a>, const Hlong <a href="#Exponent"><i>Exponent</i></a>, const char* <a href="#Norm"><i>Norm</i></a>, const char* <a href="#Mode"><i>Mode</i></a>, const char* <a href="#ResultType"><i>ResultType</i></a>)</code></p>
<p>
<code>Herror <b>T_fft_generic</b>(const Hobject <a href="#Image"><i>Image</i></a>, Hobject* <a href="#ImageFFT"><i>ImageFFT</i></a>, const Htuple <a href="#Direction"><i>Direction</i></a>, const Htuple <a href="#Exponent"><i>Exponent</i></a>, const Htuple <a href="#Norm"><i>Norm</i></a>, const Htuple <a href="#Mode"><i>Mode</i></a>, const Htuple <a href="#ResultType"><i>ResultType</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>FftGeneric</b>(const HObject&amp; <a href="#Image"><i>Image</i></a>, HObject* <a href="#ImageFFT"><i>ImageFFT</i></a>, const HTuple&amp; <a href="#Direction"><i>Direction</i></a>, const HTuple&amp; <a href="#Exponent"><i>Exponent</i></a>, const HTuple&amp; <a href="#Norm"><i>Norm</i></a>, const HTuple&amp; <a href="#Mode"><i>Mode</i></a>, const HTuple&amp; <a href="#ResultType"><i>ResultType</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>FftGeneric</b>(const HString&amp; <a href="#Direction"><i>Direction</i></a>, Hlong <a href="#Exponent"><i>Exponent</i></a>, const HString&amp; <a href="#Norm"><i>Norm</i></a>, const HString&amp; <a href="#Mode"><i>Mode</i></a>, const HString&amp; <a href="#ResultType"><i>ResultType</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>FftGeneric</b>(const char* <a href="#Direction"><i>Direction</i></a>, Hlong <a href="#Exponent"><i>Exponent</i></a>, const char* <a href="#Norm"><i>Norm</i></a>, const char* <a href="#Mode"><i>Mode</i></a>, const char* <a href="#ResultType"><i>ResultType</i></a>) const</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>::<b>FftGeneric</b>(const wchar_t* <a href="#Direction"><i>Direction</i></a>, Hlong <a href="#Exponent"><i>Exponent</i></a>, const wchar_t* <a href="#Norm"><i>Norm</i></a>, const wchar_t* <a href="#Mode"><i>Mode</i></a>, const wchar_t* <a href="#ResultType"><i>ResultType</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>FftGeneric</b>(<a href="HObject.html">HObject</a> <a href="#Image"><i>image</i></a>, out <a href="HObject.html">HObject</a> <a href="#ImageFFT"><i>imageFFT</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Direction"><i>direction</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Exponent"><i>exponent</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Norm"><i>norm</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Mode"><i>mode</i></a>, <a href="HTuple.html">HTuple</a> <a href="#ResultType"><i>resultType</i></a>)</code></p>
<p>
<code><a href="HImage.html">HImage</a> <a href="HImage.html">HImage</a>.<b>FftGeneric</b>(string <a href="#Direction"><i>direction</i></a>, int <a href="#Exponent"><i>exponent</i></a>, string <a href="#Norm"><i>norm</i></a>, string <a href="#Mode"><i>mode</i></a>, string <a href="#ResultType"><i>resultType</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>fft_generic</b>(<a href="#Image"><i>image</i></a>: HObject, <a href="#Direction"><i>direction</i></a>: str, <a href="#Exponent"><i>exponent</i></a>: int, <a href="#Norm"><i>norm</i></a>: str, <a href="#Mode"><i>mode</i></a>: str, <a href="#ResultType"><i>result_type</i></a>: str) -&gt; HObject</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p><code><span data-if="hdevelop" style="display:inline">fft_generic</span><span data-if="c" style="display:none">fft_generic</span><span data-if="cpp" style="display:none">FftGeneric</span><span data-if="com" style="display:none">FftGeneric</span><span data-if="dotnet" style="display:none">FftGeneric</span><span data-if="python" style="display:none">fft_generic</span></code> computes the fast Fourier transform of the input
image <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a>.  Because several definitions of the forward
and reverse transforms exist in the literature, this operator allows
the user to select the most convenient definition.
</p>
<p>The general definition of a Fourier transform is as follows:
<span title="1" class="displaymath"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="19.8783em" height="3.24443em" viewBox="0 0 318.052078 51.910904">
<!-- Original BoundingBox: -159.026047 -25.955460 159.026031 25.955444 -->
  <defs>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_25">
      <path style="fill-rule: evenodd;" d="M311.000000 -363.000000L430.000000 -363.000000C415.000000 -303.000000,393.000000 -212.000000,393.000000 -133.000000C393.000000 -93.000000,398.000000 -66.000000,404.000000 -44.000000C420.000000 6.000000,433.000000 10.000000,449.000000 10.000000C472.000000 10.000000,496.000000 -11.000000,496.000000 -35.000000C496.000000 -43.000000,494.000000 -47.000000,488.000000 -57.000000C469.000000 -94.000000,451.000000 -151.000000,451.000000 -233.000000C451.000000 -252.000000,451.000000 -292.000000,465.000000 -363.000000L590.000000 -363.000000C608.000000 -363.000000,616.000000 -363.000000,627.000000 -371.000000C641.000000 -381.000000,644.000000 -397.000000,644.000000 -402.000000C644.000000 -431.000000,618.000000 -431.000000,601.000000 -431.000000L224.000000 -431.000000C183.000000 -431.000000,155.000000 -422.000000,110.000000 -380.000000C84.000000 -357.000000,45.000000 -303.000000,45.000000 -294.000000C45.000000 -282.000000,58.000000 -282.000000,62.000000 -282.000000C73.000000 -282.000000,74.000000 -284.000000,80.000000 -293.000000C131.000000 -363.000000,193.000000 -363.000000,215.000000 -363.000000L276.000000 -363.000000C245.000000 -253.000000,191.000000 -135.000000,161.000000 -75.000000C155.000000 -62.000000,145.000000 -41.000000,142.000000 -37.000000C141.000000 -33.000000,139.000000 -29.000000,139.000000 -22.000000C139.000000 -6.000000,151.000000 10.000000,174.000000 10.000000C214.000000 10.000000,225.000000 -35.000000,249.000000 -125.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_61">
      <path style="fill-rule: evenodd;" d="M501.000000 -706.000000C507.000000 -719.000000,507.000000 -721.000000,507.000000 -725.000000C507.000000 -741.000000,494.000000 -750.000000,483.000000 -750.000000C466.000000 -750.000000,461.000000 -738.000000,456.000000 -725.000000L83.000000 206.000000C77.000000 219.000000,77.000000 221.000000,77.000000 225.000000C77.000000 241.000000,90.000000 250.000000,101.000000 250.000000C118.000000 250.000000,123.000000 238.000000,128.000000 225.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_77">
      <path style="fill-rule: evenodd;" d="M1021.000000 -602.000000C1030.000000 -639.000000,1032.000000 -647.000000,1106.000000 -647.000000C1127.000000 -647.000000,1140.000000 -647.000000,1140.000000 -668.000000C1140.000000 -683.000000,1128.000000 -683.000000,1110.000000 -683.000000L974.000000 -683.000000C945.000000 -683.000000,944.000000 -682.000000,931.000000 -663.000000L545.000000 -93.000000L446.000000 -656.000000C441.000000 -682.000000,441.000000 -683.000000,411.000000 -683.000000L268.000000 -683.000000C248.000000 -683.000000,235.000000 -683.000000,235.000000 -661.000000C235.000000 -647.000000,247.000000 -647.000000,269.000000 -647.000000C285.000000 -647.000000,289.000000 -647.000000,307.000000 -645.000000C327.000000 -643.000000,329.000000 -641.000000,329.000000 -631.000000C329.000000 -630.000000,329.000000 -624.000000,325.000000 -609.000000L199.000000 -107.000000C190.000000 -73.000000,175.000000 -39.000000,95.000000 -36.000000C87.000000 -36.000000,74.000000 -35.000000,74.000000 -14.000000C74.000000 -13.000000,75.000000 -0.000000,89.000000 -0.000000L193.000000 -0.000000L119.000000 -0.000000L161.000000 -4.000000L193.000000 -4.000000L217.000000 -4.000000L275.000000 -0.000000L299.000000 -0.000000C304.000000 -0.000000,319.000000 -0.000000,319.000000 -22.000000C319.000000 -35.000000,306.000000 -36.000000,297.000000 -36.000000C233.000000 -38.000000,233.000000 -64.000000,233.000000 -78.000000C233.000000 -82.000000,233.000000 -87.000000,237.000000 -103.000000L370.000000 -635.000000L371.000000 -635.000000L478.000000 -27.000000C481.000000 -9.000000,483.000000 -0.000000,498.000000 -0.000000C512.000000 -0.000000,520.000000 -11.000000,527.000000 -22.000000L947.000000 -645.000000L948.000000 -644.000000L807.000000 -78.000000C799.000000 -44.000000,797.000000 -36.000000,719.000000 -36.000000C701.000000 -36.000000,689.000000 -36.000000,689.000000 -14.000000C689.000000 -13.000000,689.000000 -0.000000,705.000000 -0.000000C724.000000 -0.000000,747.000000 -3.000000,767.000000 -3.000000C787.000000 -3.000000,810.000000 -4.000000,830.000000 -4.000000C858.000000 -4.000000,929.000000 -0.000000,957.000000 -0.000000C963.000000 -0.000000,978.000000 -0.000000,978.000000 -22.000000C978.000000 -36.000000,966.000000 -36.000000,946.000000 -36.000000C945.000000 -36.000000,926.000000 -36.000000,908.000000 -38.000000C885.000000 -40.000000,885.000000 -43.000000,885.000000 -53.000000C885.000000 -59.000000,888.000000 -69.000000,889.000000 -75.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_78">
      <path style="fill-rule: evenodd;" d="M834.000000 -574.000000C844.000000 -612.000000,860.000000 -645.000000,940.000000 -647.000000C945.000000 -647.000000,960.000000 -648.000000,960.000000 -669.000000C960.000000 -675.000000,955.000000 -683.000000,945.000000 -683.000000L841.000000 -683.000000L912.000000 -683.000000L875.000000 -679.000000L841.000000 -679.000000L817.000000 -679.000000L759.000000 -683.000000L735.000000 -683.000000C730.000000 -683.000000,715.000000 -683.000000,715.000000 -661.000000C715.000000 -648.000000,728.000000 -647.000000,737.000000 -647.000000C784.000000 -646.000000,801.000000 -631.000000,801.000000 -606.000000C801.000000 -598.000000,800.000000 -593.000000,797.000000 -582.000000L688.000000 -146.000000L434.000000 -666.000000C426.000000 -683.000000,424.000000 -683.000000,400.000000 -683.000000L263.000000 -683.000000C244.000000 -683.000000,231.000000 -683.000000,231.000000 -661.000000C231.000000 -647.000000,243.000000 -647.000000,264.000000 -647.000000C285.000000 -647.000000,307.000000 -646.000000,328.000000 -642.000000L194.000000 -107.000000C185.000000 -69.000000,168.000000 -39.000000,90.000000 -36.000000C83.000000 -36.000000,69.000000 -35.000000,69.000000 -15.000000C69.000000 -4.000000,77.000000 -0.000000,84.000000 -0.000000L188.000000 -0.000000L117.000000 -0.000000L154.000000 -4.000000L188.000000 -4.000000L212.000000 -4.000000L270.000000 -0.000000L294.000000 -0.000000C304.000000 -0.000000,314.000000 -5.000000,314.000000 -21.000000C314.000000 -35.000000,302.000000 -36.000000,291.000000 -36.000000C228.000000 -38.000000,228.000000 -64.000000,228.000000 -78.000000C228.000000 -82.000000,228.000000 -87.000000,232.000000 -103.000000L360.000000 -615.000000L652.000000 -17.000000C660.000000 -1.000000,664.000000 -0.000000,674.000000 -0.000000C690.000000 -0.000000,690.000000 -3.000000,695.000000 -21.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_105">
      <path style="fill-rule: evenodd;" d="M324.000000 -625.000000C324.000000 -641.000000,312.000000 -663.000000,284.000000 -663.000000C257.000000 -663.000000,228.000000 -637.000000,228.000000 -608.000000C228.000000 -591.000000,241.000000 -570.000000,268.000000 -570.000000C297.000000 -570.000000,324.000000 -598.000000,324.000000 -625.000000M120.000000 -117.000000C116.000000 -104.000000,111.000000 -92.000000,111.000000 -75.000000C111.000000 -28.000000,151.000000 10.000000,206.000000 10.000000C306.000000 10.000000,350.000000 -128.000000,350.000000 -143.000000C350.000000 -156.000000,337.000000 -156.000000,334.000000 -156.000000C320.000000 -156.000000,319.000000 -150.000000,315.000000 -139.000000C292.000000 -59.000000,248.000000 -18.000000,209.000000 -18.000000C189.000000 -18.000000,184.000000 -31.000000,184.000000 -53.000000C184.000000 -76.000000,191.000000 -95.000000,200.000000 -117.000000C210.000000 -144.000000,221.000000 -171.000000,232.000000 -197.000000C241.000000 -221.000000,277.000000 -312.000000,281.000000 -324.000000C284.000000 -334.000000,287.000000 -346.000000,287.000000 -356.000000C287.000000 -403.000000,247.000000 -441.000000,192.000000 -441.000000C93.000000 -441.000000,47.000000 -305.000000,47.000000 -288.000000C47.000000 -275.000000,61.000000 -275.000000,64.000000 -275.000000C78.000000 -275.000000,79.000000 -280.000000,82.000000 -291.000000C108.000000 -377.000000,152.000000 -413.000000,189.000000 -413.000000C205.000000 -413.000000,214.000000 -405.000000,214.000000 -378.000000C214.000000 -355.000000,208.000000 -340.000000,183.000000 -278.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_107">
      <path style="fill-rule: evenodd;" d="M313.000000 -664.000000C314.000000 -666.000000,317.000000 -679.000000,317.000000 -680.000000C317.000000 -685.000000,313.000000 -694.000000,301.000000 -694.000000C281.000000 -694.000000,198.000000 -686.000000,173.000000 -684.000000C165.000000 -683.000000,151.000000 -682.000000,151.000000 -661.000000C151.000000 -647.000000,165.000000 -647.000000,177.000000 -647.000000C225.000000 -647.000000,225.000000 -640.000000,225.000000 -632.000000C225.000000 -625.000000,223.000000 -619.000000,221.000000 -610.000000L80.000000 -44.000000C75.000000 -26.000000,75.000000 -24.000000,75.000000 -22.000000C75.000000 -7.000000,87.000000 10.000000,109.000000 10.000000C136.000000 10.000000,149.000000 -10.000000,155.000000 -32.000000C157.000000 -36.000000,200.000000 -212.000000,204.000000 -226.000000C275.000000 -219.000000,332.000000 -196.000000,332.000000 -144.000000C332.000000 -139.000000,332.000000 -134.000000,330.000000 -124.000000C326.000000 -109.000000,326.000000 -104.000000,326.000000 -93.000000C326.000000 -22.000000,384.000000 10.000000,432.000000 10.000000C529.000000 10.000000,559.000000 -142.000000,559.000000 -143.000000C559.000000 -156.000000,546.000000 -156.000000,543.000000 -156.000000C529.000000 -156.000000,528.000000 -151.000000,523.000000 -132.000000C511.000000 -89.000000,484.000000 -18.000000,435.000000 -18.000000C408.000000 -18.000000,400.000000 -43.000000,400.000000 -70.000000C400.000000 -87.000000,400.000000 -89.000000,406.000000 -115.000000C407.000000 -118.000000,411.000000 -135.000000,411.000000 -146.000000C411.000000 -235.000000,291.000000 -249.000000,249.000000 -252.000000C278.000000 -270.000000,315.000000 -303.000000,332.000000 -318.000000C383.000000 -366.000000,433.000000 -413.000000,489.000000 -413.000000C501.000000 -413.000000,514.000000 -410.000000,522.000000 -400.000000C479.000000 -393.000000,470.000000 -359.000000,470.000000 -344.000000C470.000000 -322.000000,487.000000 -307.000000,510.000000 -307.000000C537.000000 -307.000000,567.000000 -329.000000,567.000000 -371.000000C567.000000 -404.000000,543.000000 -441.000000,490.000000 -441.000000C433.000000 -441.000000,381.000000 -400.000000,330.000000 -353.000000C288.000000 -313.000000,255.000000 -282.000000,214.000000 -265.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_108">
      <path style="fill-rule: evenodd;" d="M282.000000 -664.000000C283.000000 -666.000000,286.000000 -679.000000,286.000000 -680.000000C286.000000 -685.000000,282.000000 -694.000000,270.000000 -694.000000C250.000000 -694.000000,167.000000 -686.000000,142.000000 -684.000000C135.000000 -683.000000,121.000000 -682.000000,121.000000 -661.000000C121.000000 -647.000000,135.000000 -647.000000,146.000000 -647.000000C194.000000 -647.000000,194.000000 -640.000000,194.000000 -632.000000C194.000000 -625.000000,192.000000 -619.000000,190.000000 -610.000000L66.000000 -116.000000C63.000000 -106.000000,62.000000 -95.000000,62.000000 -85.000000C62.000000 -21.000000,119.000000 10.000000,167.000000 10.000000C191.000000 10.000000,221.000000 2.000000,247.000000 -43.000000C268.000000 -80.000000,282.000000 -139.000000,282.000000 -143.000000C282.000000 -156.000000,269.000000 -156.000000,266.000000 -156.000000C252.000000 -156.000000,250.000000 -150.000000,246.000000 -132.000000C233.000000 -82.000000,214.000000 -18.000000,171.000000 -18.000000C144.000000 -18.000000,137.000000 -43.000000,137.000000 -67.000000C137.000000 -78.000000,140.000000 -97.000000,143.000000 -108.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_109">
      <path style="fill-rule: evenodd;" d="M434.000000 -81.000000C429.000000 -61.000000,420.000000 -27.000000,420.000000 -22.000000C420.000000 -0.000000,438.000000 10.000000,454.000000 10.000000C472.000000 10.000000,488.000000 -3.000000,493.000000 -12.000000C498.000000 -21.000000,506.000000 -53.000000,511.000000 -74.000000C516.000000 -93.000000,527.000000 -139.000000,533.000000 -164.000000C539.000000 -186.000000,545.000000 -208.000000,550.000000 -231.000000C561.000000 -274.000000,561.000000 -276.000000,581.000000 -307.000000C613.000000 -356.000000,663.000000 -413.000000,741.000000 -413.000000C797.000000 -413.000000,800.000000 -367.000000,800.000000 -343.000000C800.000000 -283.000000,757.000000 -172.000000,741.000000 -130.000000C730.000000 -102.000000,726.000000 -93.000000,726.000000 -76.000000C726.000000 -23.000000,770.000000 10.000000,821.000000 10.000000C921.000000 10.000000,965.000000 -128.000000,965.000000 -143.000000C965.000000 -156.000000,952.000000 -156.000000,949.000000 -156.000000C935.000000 -156.000000,934.000000 -150.000000,930.000000 -139.000000C907.000000 -59.000000,864.000000 -18.000000,824.000000 -18.000000C803.000000 -18.000000,799.000000 -32.000000,799.000000 -53.000000C799.000000 -76.000000,804.000000 -89.000000,822.000000 -134.000000C834.000000 -165.000000,875.000000 -271.000000,875.000000 -327.000000C875.000000 -343.000000,875.000000 -385.000000,838.000000 -414.000000C821.000000 -427.000000,792.000000 -441.000000,745.000000 -441.000000C655.000000 -441.000000,600.000000 -382.000000,568.000000 -340.000000C560.000000 -425.000000,489.000000 -441.000000,438.000000 -441.000000C355.000000 -441.000000,299.000000 -390.000000,269.000000 -350.000000C262.000000 -419.000000,203.000000 -441.000000,162.000000 -441.000000C119.000000 -441.000000,96.000000 -410.000000,83.000000 -387.000000C61.000000 -350.000000,47.000000 -293.000000,47.000000 -288.000000C47.000000 -275.000000,61.000000 -275.000000,64.000000 -275.000000C78.000000 -275.000000,79.000000 -278.000000,86.000000 -305.000000C101.000000 -364.000000,120.000000 -413.000000,159.000000 -413.000000C185.000000 -413.000000,192.000000 -391.000000,192.000000 -364.000000C192.000000 -345.000000,183.000000 -308.000000,176.000000 -281.000000C169.000000 -254.000000,159.000000 -213.000000,154.000000 -191.000000L122.000000 -63.000000C118.000000 -50.000000,112.000000 -25.000000,112.000000 -22.000000C112.000000 -0.000000,130.000000 10.000000,146.000000 10.000000C164.000000 10.000000,180.000000 -3.000000,185.000000 -12.000000C190.000000 -21.000000,198.000000 -53.000000,203.000000 -74.000000C208.000000 -93.000000,219.000000 -139.000000,225.000000 -164.000000C231.000000 -186.000000,237.000000 -208.000000,242.000000 -231.000000C253.000000 -272.000000,255.000000 -280.000000,284.000000 -321.000000C312.000000 -361.000000,359.000000 -413.000000,434.000000 -413.000000C492.000000 -413.000000,493.000000 -362.000000,493.000000 -343.000000C493.000000 -318.000000,490.000000 -305.000000,476.000000 -249.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_110">
      <path style="fill-rule: evenodd;" d="M122.000000 -63.000000C118.000000 -50.000000,112.000000 -25.000000,112.000000 -22.000000C112.000000 -0.000000,130.000000 10.000000,146.000000 10.000000C164.000000 10.000000,180.000000 -3.000000,185.000000 -12.000000C190.000000 -21.000000,198.000000 -53.000000,203.000000 -74.000000C208.000000 -93.000000,219.000000 -139.000000,225.000000 -164.000000C231.000000 -186.000000,237.000000 -208.000000,242.000000 -231.000000C253.000000 -272.000000,255.000000 -280.000000,284.000000 -321.000000C312.000000 -361.000000,359.000000 -413.000000,434.000000 -413.000000C492.000000 -413.000000,493.000000 -362.000000,493.000000 -343.000000C493.000000 -283.000000,450.000000 -172.000000,434.000000 -130.000000C423.000000 -102.000000,419.000000 -93.000000,419.000000 -76.000000C419.000000 -23.000000,463.000000 10.000000,514.000000 10.000000C614.000000 10.000000,658.000000 -128.000000,658.000000 -143.000000C658.000000 -156.000000,645.000000 -156.000000,642.000000 -156.000000C628.000000 -156.000000,627.000000 -150.000000,623.000000 -139.000000C600.000000 -59.000000,557.000000 -18.000000,517.000000 -18.000000C496.000000 -18.000000,492.000000 -32.000000,492.000000 -53.000000C492.000000 -76.000000,497.000000 -89.000000,515.000000 -134.000000C527.000000 -165.000000,568.000000 -271.000000,568.000000 -327.000000C568.000000 -424.000000,491.000000 -441.000000,438.000000 -441.000000C355.000000 -441.000000,299.000000 -390.000000,269.000000 -350.000000C262.000000 -419.000000,203.000000 -441.000000,162.000000 -441.000000C119.000000 -441.000000,96.000000 -410.000000,83.000000 -387.000000C61.000000 -350.000000,47.000000 -293.000000,47.000000 -288.000000C47.000000 -275.000000,61.000000 -275.000000,64.000000 -275.000000C78.000000 -275.000000,79.000000 -278.000000,86.000000 -305.000000C101.000000 -364.000000,120.000000 -413.000000,159.000000 -413.000000C185.000000 -413.000000,192.000000 -391.000000,192.000000 -364.000000C192.000000 -345.000000,183.000000 -308.000000,176.000000 -281.000000C169.000000 -254.000000,159.000000 -213.000000,154.000000 -191.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmmi7_115">
      <path style="fill-rule: evenodd;" d="M431.000000 -376.000000C405.000000 -370.000000,389.000000 -349.000000,389.000000 -329.000000C389.000000 -306.000000,409.000000 -297.000000,422.000000 -297.000000C432.000000 -297.000000,470.000000 -303.000000,470.000000 -354.000000C470.000000 -419.000000,398.000000 -441.000000,337.000000 -441.000000C181.000000 -441.000000,153.000000 -326.000000,153.000000 -295.000000C153.000000 -258.000000,174.000000 -234.000000,188.000000 -222.000000C214.000000 -202.000000,232.000000 -198.000000,301.000000 -186.000000C322.000000 -182.000000,386.000000 -170.000000,386.000000 -120.000000C386.000000 -103.000000,375.000000 -65.000000,333.000000 -40.000000C294.000000 -18.000000,245.000000 -18.000000,233.000000 -18.000000C193.000000 -18.000000,136.000000 -27.000000,113.000000 -60.000000C146.000000 -64.000000,168.000000 -89.000000,168.000000 -117.000000C168.000000 -142.000000,150.000000 -154.000000,129.000000 -154.000000C100.000000 -154.000000,71.000000 -131.000000,71.000000 -87.000000C71.000000 -27.000000,135.000000 10.000000,232.000000 10.000000C416.000000 10.000000,450.000000 -116.000000,450.000000 -155.000000C450.000000 -247.000000,349.000000 -265.000000,312.000000 -272.000000C303.000000 -274.000000,278.000000 -278.000000,272.000000 -280.000000C235.000000 -287.000000,217.000000 -308.000000,217.000000 -330.000000C217.000000 -353.000000,235.000000 -380.000000,257.000000 -394.000000C284.000000 -411.000000,319.000000 -413.000000,336.000000 -413.000000C357.000000 -413.000000,409.000000 -410.000000,431.000000 -376.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_40">
      <path style="fill-rule: evenodd;" d="M331.000000 240.000000C331.000000 237.000000,331.000000 235.000000,314.000000 218.000000C189.000000 92.000000,157.000000 -97.000000,157.000000 -250.000000C157.000000 -424.000000,195.000000 -598.000000,318.000000 -723.000000C331.000000 -735.000000,331.000000 -737.000000,331.000000 -740.000000C331.000000 -747.000000,327.000000 -750.000000,321.000000 -750.000000C311.000000 -750.000000,221.000000 -682.000000,162.000000 -555.000000C111.000000 -445.000000,99.000000 -334.000000,99.000000 -250.000000C99.000000 -172.000000,110.000000 -51.000000,165.000000 62.000000C225.000000 185.000000,311.000000 250.000000,321.000000 250.000000C327.000000 250.000000,331.000000 247.000000,331.000000 240.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_41">
      <path style="fill-rule: evenodd;" d="M289.000000 -250.000000C289.000000 -328.000000,278.000000 -449.000000,223.000000 -562.000000C163.000000 -685.000000,77.000000 -750.000000,67.000000 -750.000000C61.000000 -750.000000,57.000000 -746.000000,57.000000 -740.000000C57.000000 -737.000000,57.000000 -735.000000,76.000000 -717.000000C174.000000 -618.000000,231.000000 -459.000000,231.000000 -250.000000C231.000000 -79.000000,194.000000 97.000000,70.000000 223.000000C57.000000 235.000000,57.000000 237.000000,57.000000 240.000000C57.000000 246.000000,61.000000 250.000000,67.000000 250.000000C77.000000 250.000000,167.000000 182.000000,226.000000 55.000000C277.000000 -55.000000,289.000000 -166.000000,289.000000 -250.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_49">
      <path style="fill-rule: evenodd;" d="M294.000000 -640.000000C294.000000 -664.000000,294.000000 -666.000000,271.000000 -666.000000C209.000000 -602.000000,121.000000 -602.000000,89.000000 -602.000000L89.000000 -571.000000C109.000000 -571.000000,168.000000 -571.000000,220.000000 -597.000000L220.000000 -79.000000C220.000000 -43.000000,217.000000 -31.000000,127.000000 -31.000000L95.000000 -31.000000L95.000000 -0.000000L257.000000 -0.000000L130.000000 -3.000000L217.000000 -3.000000L257.000000 -3.000000L297.000000 -3.000000L384.000000 -3.000000L419.000000 -0.000000L419.000000 -31.000000L387.000000 -31.000000C297.000000 -31.000000,294.000000 -42.000000,294.000000 -79.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_61">
      <path style="fill-rule: evenodd;" d="M687.000000 -327.000000C702.000000 -327.000000,721.000000 -327.000000,721.000000 -347.000000C721.000000 -367.000000,702.000000 -367.000000,688.000000 -367.000000L89.000000 -367.000000C75.000000 -367.000000,56.000000 -367.000000,56.000000 -347.000000C56.000000 -327.000000,75.000000 -327.000000,90.000000 -327.000000M688.000000 -133.000000C702.000000 -133.000000,721.000000 -133.000000,721.000000 -153.000000C721.000000 -173.000000,702.000000 -173.000000,687.000000 -173.000000L90.000000 -173.000000C75.000000 -173.000000,56.000000 -173.000000,56.000000 -153.000000C56.000000 -133.000000,75.000000 -133.000000,89.000000 -133.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_59">
      <path style="fill-rule: evenodd;" d="M203.000000 -1.000000C203.000000 -67.000000,178.000000 -106.000000,139.000000 -106.000000C106.000000 -106.000000,86.000000 -81.000000,86.000000 -53.000000C86.000000 -26.000000,106.000000 -0.000000,139.000000 -0.000000C151.000000 -0.000000,164.000000 -4.000000,174.000000 -13.000000C177.000000 -15.000000,178.000000 -16.000000,179.000000 -16.000000C180.000000 -16.000000,181.000000 -15.000000,181.000000 -1.000000C181.000000 73.000000,146.000000 133.000000,113.000000 166.000000C102.000000 177.000000,102.000000 179.000000,102.000000 182.000000C102.000000 189.000000,107.000000 193.000000,112.000000 193.000000C123.000000 193.000000,203.000000 116.000000,203.000000 -1.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_70">
      <path style="fill-rule: evenodd;" d="M303.000000 -325.000000L400.000000 -325.000000C475.000000 -325.000000,483.000000 -309.000000,483.000000 -280.000000C483.000000 -273.000000,483.000000 -261.000000,476.000000 -231.000000C474.000000 -226.000000,473.000000 -222.000000,473.000000 -220.000000C473.000000 -212.000000,479.000000 -208.000000,485.000000 -208.000000C495.000000 -208.000000,495.000000 -211.000000,500.000000 -229.000000L555.000000 -446.000000C558.000000 -457.000000,558.000000 -459.000000,558.000000 -462.000000C558.000000 -464.000000,556.000000 -473.000000,546.000000 -473.000000C536.000000 -473.000000,535.000000 -468.000000,531.000000 -452.000000C510.000000 -374.000000,487.000000 -356.000000,402.000000 -356.000000L311.000000 -356.000000L375.000000 -610.000000C384.000000 -645.000000,385.000000 -649.000000,429.000000 -649.000000L561.000000 -649.000000C684.000000 -649.000000,707.000000 -616.000000,707.000000 -539.000000C707.000000 -516.000000,707.000000 -512.000000,704.000000 -485.000000C702.000000 -472.000000,702.000000 -470.000000,702.000000 -467.000000C702.000000 -462.000000,705.000000 -455.000000,714.000000 -455.000000C725.000000 -455.000000,726.000000 -461.000000,728.000000 -480.000000L748.000000 -653.000000C751.000000 -680.000000,746.000000 -680.000000,721.000000 -680.000000L231.000000 -680.000000C211.000000 -680.000000,201.000000 -680.000000,201.000000 -660.000000C201.000000 -649.000000,210.000000 -649.000000,229.000000 -649.000000C266.000000 -649.000000,294.000000 -649.000000,294.000000 -631.000000C294.000000 -627.000000,294.000000 -625.000000,289.000000 -607.000000L157.000000 -78.000000C147.000000 -39.000000,145.000000 -31.000000,66.000000 -31.000000C49.000000 -31.000000,38.000000 -31.000000,38.000000 -12.000000C38.000000 -0.000000,50.000000 -0.000000,53.000000 -0.000000L185.000000 -0.000000L82.000000 -0.000000L156.000000 -3.000000L185.000000 -3.000000L218.000000 -3.000000L301.000000 -0.000000L334.000000 -0.000000C343.000000 -0.000000,355.000000 -0.000000,355.000000 -19.000000C355.000000 -27.000000,349.000000 -29.000000,349.000000 -30.000000C346.000000 -31.000000,344.000000 -31.000000,321.000000 -31.000000C299.000000 -31.000000,294.000000 -31.000000,269.000000 -33.000000C240.000000 -36.000000,237.000000 -40.000000,237.000000 -53.000000C237.000000 -55.000000,237.000000 -61.000000,241.000000 -76.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_99">
      <path style="fill-rule: evenodd;" d="M396.000000 -380.000000C380.000000 -380.000000,366.000000 -380.000000,352.000000 -366.000000C336.000000 -351.000000,334.000000 -334.000000,334.000000 -327.000000C334.000000 -303.000000,352.000000 -292.000000,371.000000 -292.000000C400.000000 -292.000000,427.000000 -316.000000,427.000000 -356.000000C427.000000 -405.000000,380.000000 -442.000000,309.000000 -442.000000C174.000000 -442.000000,41.000000 -299.000000,41.000000 -158.000000C41.000000 -68.000000,99.000000 11.000000,203.000000 11.000000C346.000000 11.000000,430.000000 -95.000000,430.000000 -107.000000C430.000000 -113.000000,424.000000 -120.000000,418.000000 -120.000000C413.000000 -120.000000,411.000000 -118.000000,405.000000 -110.000000C326.000000 -11.000000,217.000000 -11.000000,205.000000 -11.000000C142.000000 -11.000000,115.000000 -60.000000,115.000000 -120.000000C115.000000 -161.000000,135.000000 -258.000000,169.000000 -320.000000C200.000000 -377.000000,255.000000 -420.000000,310.000000 -420.000000C344.000000 -420.000000,382.000000 -407.000000,396.000000 -380.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_101">
      <path style="fill-rule: evenodd;" d="M187.000000 -231.000000C216.000000 -231.000000,290.000000 -233.000000,340.000000 -254.000000C410.000000 -284.000000,415.000000 -343.000000,415.000000 -357.000000C415.000000 -401.000000,377.000000 -442.000000,308.000000 -442.000000C197.000000 -442.000000,46.000000 -345.000000,46.000000 -170.000000C46.000000 -68.000000,105.000000 11.000000,203.000000 11.000000C346.000000 11.000000,430.000000 -95.000000,430.000000 -107.000000C430.000000 -113.000000,424.000000 -120.000000,418.000000 -120.000000C413.000000 -120.000000,411.000000 -118.000000,405.000000 -110.000000C326.000000 -11.000000,217.000000 -11.000000,205.000000 -11.000000C127.000000 -11.000000,118.000000 -95.000000,118.000000 -127.000000C118.000000 -139.000000,119.000000 -170.000000,134.000000 -231.000000M140.000000 -253.000000C179.000000 -405.000000,282.000000 -420.000000,308.000000 -420.000000C355.000000 -420.000000,382.000000 -391.000000,382.000000 -357.000000C382.000000 -253.000000,222.000000 -253.000000,181.000000 -253.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_102">
      <path style="fill-rule: evenodd;" d="M367.000000 -400.000000L453.000000 -400.000000C473.000000 -400.000000,483.000000 -400.000000,483.000000 -420.000000C483.000000 -431.000000,473.000000 -431.000000,456.000000 -431.000000L373.000000 -431.000000L394.000000 -545.000000C398.000000 -566.000000,412.000000 -637.000000,418.000000 -649.000000C427.000000 -668.000000,444.000000 -683.000000,465.000000 -683.000000C469.000000 -683.000000,495.000000 -683.000000,514.000000 -665.000000C470.000000 -661.000000,460.000000 -626.000000,460.000000 -611.000000C460.000000 -588.000000,478.000000 -576.000000,497.000000 -576.000000C523.000000 -576.000000,552.000000 -598.000000,552.000000 -636.000000C552.000000 -682.000000,506.000000 -705.000000,465.000000 -705.000000C431.000000 -705.000000,368.000000 -687.000000,338.000000 -588.000000C332.000000 -567.000000,329.000000 -557.000000,305.000000 -431.000000L236.000000 -431.000000C217.000000 -431.000000,206.000000 -431.000000,206.000000 -412.000000C206.000000 -400.000000,215.000000 -400.000000,234.000000 -400.000000L300.000000 -400.000000L225.000000 -5.000000C207.000000 92.000000,190.000000 183.000000,138.000000 183.000000C134.000000 183.000000,109.000000 183.000000,90.000000 165.000000C136.000000 162.000000,145.000000 126.000000,145.000000 111.000000C145.000000 88.000000,127.000000 76.000000,108.000000 76.000000C82.000000 76.000000,53.000000 98.000000,53.000000 136.000000C53.000000 181.000000,97.000000 205.000000,138.000000 205.000000C193.000000 205.000000,233.000000 146.000000,251.000000 108.000000C283.000000 45.000000,306.000000 -76.000000,307.000000 -83.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_107">
      <path style="fill-rule: evenodd;" d="M287.000000 -683.000000C287.000000 -684.000000,287.000000 -694.000000,274.000000 -694.000000C251.000000 -694.000000,178.000000 -686.000000,152.000000 -684.000000C144.000000 -683.000000,133.000000 -682.000000,133.000000 -664.000000C133.000000 -652.000000,142.000000 -652.000000,157.000000 -652.000000C205.000000 -652.000000,207.000000 -645.000000,207.000000 -635.000000L204.000000 -615.000000L59.000000 -39.000000C55.000000 -25.000000,55.000000 -23.000000,55.000000 -17.000000C55.000000 6.000000,75.000000 11.000000,84.000000 11.000000C97.000000 11.000000,112.000000 2.000000,118.000000 -10.000000C123.000000 -19.000000,168.000000 -204.000000,174.000000 -229.000000C208.000000 -226.000000,290.000000 -210.000000,290.000000 -144.000000C290.000000 -137.000000,290.000000 -133.000000,287.000000 -123.000000C285.000000 -111.000000,283.000000 -99.000000,283.000000 -88.000000C283.000000 -29.000000,323.000000 11.000000,375.000000 11.000000C405.000000 11.000000,432.000000 -5.000000,454.000000 -42.000000C479.000000 -86.000000,490.000000 -141.000000,490.000000 -143.000000C490.000000 -153.000000,481.000000 -153.000000,478.000000 -153.000000C468.000000 -153.000000,467.000000 -149.000000,464.000000 -135.000000C444.000000 -62.000000,421.000000 -11.000000,377.000000 -11.000000C358.000000 -11.000000,345.000000 -22.000000,345.000000 -58.000000C345.000000 -75.000000,349.000000 -98.000000,353.000000 -114.000000C357.000000 -131.000000,357.000000 -135.000000,357.000000 -145.000000C357.000000 -210.000000,294.000000 -239.000000,209.000000 -250.000000C240.000000 -268.000000,272.000000 -300.000000,295.000000 -324.000000C343.000000 -377.000000,389.000000 -420.000000,438.000000 -420.000000C444.000000 -420.000000,445.000000 -420.000000,447.000000 -419.000000C459.000000 -417.000000,460.000000 -417.000000,468.000000 -411.000000C470.000000 -410.000000,470.000000 -409.000000,472.000000 -407.000000C424.000000 -404.000000,415.000000 -365.000000,415.000000 -353.000000C415.000000 -337.000000,426.000000 -318.000000,453.000000 -318.000000C479.000000 -318.000000,508.000000 -340.000000,508.000000 -379.000000C508.000000 -409.000000,485.000000 -442.000000,440.000000 -442.000000C412.000000 -442.000000,366.000000 -434.000000,294.000000 -354.000000C260.000000 -316.000000,221.000000 -276.000000,183.000000 -261.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_108">
      <path style="fill-rule: evenodd;" d="M258.000000 -683.000000C258.000000 -684.000000,258.000000 -694.000000,245.000000 -694.000000C222.000000 -694.000000,149.000000 -686.000000,123.000000 -684.000000C115.000000 -683.000000,104.000000 -682.000000,104.000000 -663.000000C104.000000 -652.000000,114.000000 -652.000000,129.000000 -652.000000C177.000000 -652.000000,178.000000 -643.000000,178.000000 -635.000000L175.000000 -615.000000L49.000000 -115.000000C46.000000 -104.000000,44.000000 -97.000000,44.000000 -81.000000C44.000000 -24.000000,88.000000 11.000000,135.000000 11.000000C168.000000 11.000000,193.000000 -9.000000,210.000000 -45.000000C228.000000 -83.000000,240.000000 -141.000000,240.000000 -143.000000C240.000000 -153.000000,231.000000 -153.000000,228.000000 -153.000000C218.000000 -153.000000,217.000000 -149.000000,214.000000 -135.000000C197.000000 -70.000000,178.000000 -11.000000,138.000000 -11.000000C108.000000 -11.000000,108.000000 -43.000000,108.000000 -57.000000C108.000000 -81.000000,109.000000 -86.000000,114.000000 -105.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_109">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -325.000000,426.000000 -297.000000,418.000000 -267.000000L390.000000 -151.000000L370.000000 -75.000000C366.000000 -55.000000,357.000000 -21.000000,357.000000 -16.000000C357.000000 2.000000,371.000000 11.000000,386.000000 11.000000C417.000000 11.000000,423.000000 -14.000000,431.000000 -46.000000C445.000000 -102.000000,482.000000 -248.000000,491.000000 -287.000000C494.000000 -300.000000,547.000000 -420.000000,656.000000 -420.000000C699.000000 -420.000000,710.000000 -386.000000,710.000000 -350.000000C710.000000 -293.000000,668.000000 -179.000000,648.000000 -126.000000C639.000000 -102.000000,635.000000 -91.000000,635.000000 -71.000000C635.000000 -24.000000,670.000000 11.000000,717.000000 11.000000C811.000000 11.000000,848.000000 -135.000000,848.000000 -143.000000C848.000000 -153.000000,839.000000 -153.000000,836.000000 -153.000000C826.000000 -153.000000,826.000000 -150.000000,821.000000 -135.000000C806.000000 -82.000000,774.000000 -11.000000,719.000000 -11.000000C702.000000 -11.000000,695.000000 -21.000000,695.000000 -44.000000C695.000000 -69.000000,704.000000 -93.000000,713.000000 -115.000000C732.000000 -167.000000,774.000000 -278.000000,774.000000 -335.000000C774.000000 -400.000000,734.000000 -442.000000,659.000000 -442.000000C584.000000 -442.000000,533.000000 -398.000000,496.000000 -345.000000C495.000000 -358.000000,492.000000 -392.000000,464.000000 -416.000000C439.000000 -437.000000,407.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -412.000000,179.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,60.000000 -385.000000C42.000000 -350.000000,29.000000 -291.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C147.000000 -420.000000,162.000000 -412.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_110">
      <path style="fill-rule: evenodd;" d="M88.000000 -59.000000C85.000000 -44.000000,79.000000 -21.000000,79.000000 -16.000000C79.000000 2.000000,93.000000 11.000000,108.000000 11.000000C120.000000 11.000000,138.000000 3.000000,145.000000 -17.000000C146.000000 -19.000000,158.000000 -66.000000,164.000000 -91.000000L186.000000 -181.000000C192.000000 -203.000000,198.000000 -225.000000,203.000000 -248.000000C207.000000 -265.000000,215.000000 -294.000000,216.000000 -298.000000C231.000000 -329.000000,284.000000 -420.000000,379.000000 -420.000000C424.000000 -420.000000,433.000000 -383.000000,433.000000 -350.000000C433.000000 -288.000000,384.000000 -160.000000,368.000000 -117.000000C359.000000 -94.000000,358.000000 -82.000000,358.000000 -71.000000C358.000000 -24.000000,393.000000 11.000000,440.000000 11.000000C534.000000 11.000000,571.000000 -135.000000,571.000000 -143.000000C571.000000 -153.000000,562.000000 -153.000000,559.000000 -153.000000C549.000000 -153.000000,549.000000 -150.000000,544.000000 -135.000000C524.000000 -67.000000,491.000000 -11.000000,442.000000 -11.000000C425.000000 -11.000000,418.000000 -21.000000,418.000000 -44.000000C418.000000 -69.000000,427.000000 -93.000000,436.000000 -115.000000C455.000000 -168.000000,497.000000 -278.000000,497.000000 -335.000000C497.000000 -402.000000,454.000000 -442.000000,382.000000 -442.000000C292.000000 -442.000000,243.000000 -378.000000,226.000000 -355.000000C221.000000 -411.000000,180.000000 -442.000000,134.000000 -442.000000C88.000000 -442.000000,69.000000 -403.000000,59.000000 -385.000000C43.000000 -351.000000,29.000000 -292.000000,29.000000 -288.000000C29.000000 -278.000000,39.000000 -278.000000,41.000000 -278.000000C51.000000 -278.000000,52.000000 -279.000000,58.000000 -301.000000C75.000000 -372.000000,95.000000 -420.000000,131.000000 -420.000000C151.000000 -420.000000,162.000000 -407.000000,162.000000 -374.000000C162.000000 -353.000000,159.000000 -342.000000,146.000000 -290.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmex10_88">
      <path style="fill-rule: evenodd;" d="M1266.000000 1400.000000L1387.000000 1080.000000L1362.000000 1080.000000C1323.000000 1184.000000,1217.000000 1252.000000,1102.000000 1282.000000C1081.000000 1287.000000,983.000000 1313.000000,791.000000 1313.000000L188.000000 1313.000000L697.000000 716.000000C704.000000 708.000000,706.000000 705.000000,706.000000 700.000000C706.000000 698.000000,706.000000 695.000000,699.000000 685.000000L233.000000 48.000000L781.000000 48.000000C915.000000 48.000000,1006.000000 62.000000,1015.000000 64.000000C1069.000000 72.000000,1156.000000 89.000000,1235.000000 139.000000C1260.000000 155.000000,1328.000000 200.000000,1362.000000 281.000000L1387.000000 281.000000L1266.000000 -0.000000L84.000000 -0.000000C61.000000 -0.000000,60.000000 1.000000,57.000000 7.000000C56.000000 10.000000,56.000000 29.000000,56.000000 40.000000L585.000000 764.000000L67.000000 1371.000000C57.000000 1383.000000,57.000000 1388.000000,57.000000 1389.000000C57.000000 1400.000000,66.000000 1400.000000,84.000000 1400.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmsy7_0">
      <path style="fill-rule: evenodd;" d="M744.000000 -226.000000C760.000000 -226.000000,784.000000 -226.000000,784.000000 -250.000000C784.000000 -275.000000,761.000000 -275.000000,744.000000 -275.000000L148.000000 -275.000000C132.000000 -275.000000,108.000000 -275.000000,108.000000 -251.000000C108.000000 -226.000000,131.000000 -226.000000,148.000000 -226.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_40">
      <path style="fill-rule: evenodd;" d="M355.000000 -750.000000C165.000000 -616.000000,115.000000 -404.000000,115.000000 -251.000000C115.000000 -110.000000,157.000000 109.000000,355.000000 249.000000C363.000000 249.000000,375.000000 249.000000,375.000000 237.000000C375.000000 231.000000,372.000000 229.000000,365.000000 222.000000C232.000000 102.000000,183.000000 -68.000000,183.000000 -250.000000C183.000000 -520.000000,286.000000 -652.000000,368.000000 -726.000000C372.000000 -730.000000,375.000000 -733.000000,375.000000 -738.000000C375.000000 -750.000000,363.000000 -750.000000,355.000000 -750.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_41">
      <path style="fill-rule: evenodd;" d="M90.000000 -750.000000C83.000000 -750.000000,71.000000 -750.000000,71.000000 -738.000000C71.000000 -733.000000,74.000000 -730.000000,80.000000 -723.000000C166.000000 -644.000000,262.000000 -509.000000,262.000000 -251.000000C262.000000 -42.000000,197.000000 116.000000,89.000000 214.000000C72.000000 231.000000,71.000000 232.000000,71.000000 237.000000C71.000000 242.000000,74.000000 249.000000,84.000000 249.000000C96.000000 249.000000,191.000000 183.000000,257.000000 58.000000C301.000000 -25.000000,330.000000 -133.000000,330.000000 -250.000000C330.000000 -391.000000,288.000000 -610.000000,90.000000 -750.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_43">
      <path style="fill-rule: evenodd;" d="M463.000000 -226.000000L769.000000 -226.000000C782.000000 -226.000000,806.000000 -226.000000,806.000000 -250.000000C806.000000 -275.000000,783.000000 -275.000000,769.000000 -275.000000L463.000000 -275.000000L463.000000 -582.000000C463.000000 -595.000000,463.000000 -619.000000,439.000000 -619.000000C414.000000 -619.000000,414.000000 -596.000000,414.000000 -582.000000L414.000000 -275.000000L107.000000 -275.000000C94.000000 -275.000000,70.000000 -275.000000,70.000000 -251.000000C70.000000 -226.000000,93.000000 -226.000000,107.000000 -226.000000L414.000000 -226.000000L414.000000 81.000000C414.000000 94.000000,414.000000 118.000000,438.000000 118.000000C463.000000 118.000000,463.000000 95.000000,463.000000 81.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_48">
      <path style="fill-rule: evenodd;" d="M516.000000 -319.000000C516.000000 -429.000000,503.000000 -508.000000,457.000000 -578.000000C426.000000 -624.000000,364.000000 -664.000000,284.000000 -664.000000C52.000000 -664.000000,52.000000 -391.000000,52.000000 -319.000000C52.000000 -247.000000,52.000000 20.000000,284.000000 20.000000C516.000000 20.000000,516.000000 -247.000000,516.000000 -319.000000M284.000000 -8.000000C238.000000 -8.000000,177.000000 -35.000000,157.000000 -117.000000C143.000000 -176.000000,143.000000 -258.000000,143.000000 -332.000000C143.000000 -405.000000,143.000000 -481.000000,158.000000 -536.000000C179.000000 -615.000000,243.000000 -636.000000,284.000000 -636.000000C338.000000 -636.000000,390.000000 -603.000000,408.000000 -545.000000C424.000000 -491.000000,425.000000 -419.000000,425.000000 -332.000000C425.000000 -258.000000,425.000000 -184.000000,412.000000 -121.000000C392.000000 -30.000000,324.000000 -8.000000,284.000000 -8.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_49">
      <path style="fill-rule: evenodd;" d="M335.000000 -636.000000C335.000000 -663.000000,333.000000 -664.000000,305.000000 -664.000000C241.000000 -601.000000,150.000000 -600.000000,109.000000 -600.000000L109.000000 -564.000000C133.000000 -564.000000,199.000000 -564.000000,254.000000 -592.000000L254.000000 -82.000000C254.000000 -49.000000,254.000000 -36.000000,154.000000 -36.000000L116.000000 -36.000000L116.000000 -0.000000L294.000000 -0.000000L134.000000 -1.000000L257.000000 -4.000000L294.000000 -4.000000L325.000000 -4.000000L451.000000 -1.000000L473.000000 -0.000000L473.000000 -36.000000L435.000000 -36.000000C335.000000 -36.000000,335.000000 -49.000000,335.000000 -82.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_50">
      <path style="fill-rule: evenodd;" d="M505.000000 -182.000000L471.000000 -182.000000C468.000000 -160.000000,458.000000 -101.000000,445.000000 -91.000000C437.000000 -85.000000,360.000000 -85.000000,346.000000 -85.000000L162.000000 -85.000000C267.000000 -178.000000,302.000000 -206.000000,362.000000 -253.000000C436.000000 -312.000000,505.000000 -374.000000,505.000000 -469.000000C505.000000 -590.000000,399.000000 -664.000000,271.000000 -664.000000C147.000000 -664.000000,63.000000 -577.000000,63.000000 -485.000000C63.000000 -434.000000,106.000000 -429.000000,116.000000 -429.000000C140.000000 -429.000000,169.000000 -446.000000,169.000000 -482.000000C169.000000 -500.000000,162.000000 -535.000000,110.000000 -535.000000C141.000000 -606.000000,209.000000 -628.000000,256.000000 -628.000000C356.000000 -628.000000,408.000000 -550.000000,408.000000 -469.000000C408.000000 -382.000000,346.000000 -313.000000,314.000000 -277.000000L73.000000 -39.000000C63.000000 -30.000000,63.000000 -28.000000,63.000000 -0.000000L475.000000 -0.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmr7_61">
      <path style="fill-rule: evenodd;" d="M768.000000 -336.000000C783.000000 -336.000000,806.000000 -336.000000,806.000000 -361.000000C806.000000 -385.000000,782.000000 -385.000000,769.000000 -385.000000L107.000000 -385.000000C94.000000 -385.000000,70.000000 -385.000000,70.000000 -361.000000C70.000000 -336.000000,93.000000 -336.000000,108.000000 -336.000000M769.000000 -116.000000C782.000000 -116.000000,806.000000 -116.000000,806.000000 -140.000000C806.000000 -165.000000,783.000000 -165.000000,768.000000 -165.000000L108.000000 -165.000000C93.000000 -165.000000,70.000000 -165.000000,70.000000 -140.000000C70.000000 -116.000000,94.000000 -116.000000,107.000000 -116.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.973953 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_70"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.438339 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,19.637375 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_109"></use>
    <use xlink:href="#GLYPHcmmi10_59" x="8.780266"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,40.717789 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_110"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,50.285660 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,60.912415 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_61"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,79.651062 18.405090)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_49"></use>
  </g>
  <path d="M79.651062 25.203674L87.621155 25.203674" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,80.186905 40.123093)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_99"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,92.190613 9.263489)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_77"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,105.542831 9.263489)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_0"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,115.505585 9.263489)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,95.512711 14.045410)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_88"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,95.432388 48.361526)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_107"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,102.478348 48.361526)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_61"></use>
    <use xlink:href="#GLYPHcmr7_48" x="6.139011"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,124.516174 9.263489)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,135.809509 9.263489)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_0"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,145.772263 9.263489)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_49"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,126.808838 14.045410)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmex10_88"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,128.203568 48.361526)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_108"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,132.299255 48.361526)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_61"></use>
    <use xlink:href="#GLYPHcmr7_48" x="6.139011"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,154.782867 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_101"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,162.205139 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_115"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,168.221466 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_50"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,174.575424 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_25"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,182.430023 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_105"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,186.939941 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,191.921417 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_107"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,198.967194 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_109"></use>
    <use xlink:href="#GLYPHcmmi7_61" x="7.096230"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,216.123413 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_77"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,229.475632 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,239.261261 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_108"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,243.356964 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_110"></use>
    <use xlink:href="#GLYPHcmmi7_61" x="4.943409"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,257.081650 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi7_78"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,268.374802 22.607208)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr7_41"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,274.153244 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_102"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,283.673096 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_40"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,289.872177 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_107"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,298.672531 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_59"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,305.757019 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_108"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,310.826965 29.188828)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_41"></use>
  </g>
</svg></span>
Opinions vary on whether the sign s in the exponent should
be set to 1 or -1 for the forward transform, i.e., the transform for
going to the frequency domain.  There is also disagreement on the
magnitude of the normalizing factor c.  This is sometimes
set to 1 for the forward transform, sometimes to M*N, and
sometimes (in case of the unitary FFT) to
<span title="2" style="vertical-align:-0.193468em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="2.94045em" height="1.16111em" viewBox="0 0 47.047211 18.577820">
<!-- Original BoundingBox: -23.523605 -9.288910 23.523605 9.288910 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_112">
      <path style="fill-rule: evenodd;" d="M389.000000 855.000000L213.000000 466.000000C206.000000 450.000000,201.000000 450.000000,198.000000 450.000000C197.000000 450.000000,192.000000 450.000000,181.000000 458.000000L86.000000 530.000000C73.000000 540.000000,73.000000 543.000000,73.000000 546.000000C73.000000 551.000000,76.000000 557.000000,83.000000 557.000000C89.000000 557.000000,106.000000 543.000000,117.000000 535.000000C123.000000 530.000000,138.000000 519.000000,149.000000 511.000000L346.000000 944.000000C353.000000 960.000000,358.000000 960.000000,367.000000 960.000000C382.000000 960.000000,385.000000 954.000000,392.000000 940.000000L846.000000 -0.000000C853.000000 -14.000000,853.000000 -18.000000,853.000000 -20.000000C853.000000 -30.000000,845.000000 -40.000000,833.000000 -40.000000C825.000000 -40.000000,818.000000 -35.000000,810.000000 -19.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_77">
      <path style="fill-rule: evenodd;" d="M926.000000 -606.000000C935.000000 -642.000000,937.000000 -652.000000,1012.000000 -652.000000C1035.000000 -652.000000,1044.000000 -652.000000,1044.000000 -672.000000C1044.000000 -683.000000,1034.000000 -683.000000,1017.000000 -683.000000L885.000000 -683.000000C859.000000 -683.000000,858.000000 -683.000000,846.000000 -664.000000L481.000000 -94.000000L403.000000 -660.000000C400.000000 -683.000000,398.000000 -683.000000,372.000000 -683.000000L235.000000 -683.000000C216.000000 -683.000000,205.000000 -683.000000,205.000000 -664.000000C205.000000 -652.000000,214.000000 -652.000000,234.000000 -652.000000C247.000000 -652.000000,265.000000 -651.000000,277.000000 -650.000000C293.000000 -648.000000,299.000000 -645.000000,299.000000 -634.000000C299.000000 -630.000000,298.000000 -627.000000,295.000000 -615.000000L168.000000 -106.000000C158.000000 -66.000000,141.000000 -34.000000,60.000000 -31.000000C55.000000 -31.000000,42.000000 -30.000000,42.000000 -12.000000C42.000000 -3.000000,48.000000 -0.000000,56.000000 -0.000000L156.000000 -0.000000L88.000000 -0.000000L123.000000 -3.000000L156.000000 -3.000000L190.000000 -3.000000L226.000000 -0.000000L259.000000 -0.000000C264.000000 -0.000000,277.000000 -0.000000,277.000000 -20.000000C277.000000 -31.000000,266.000000 -31.000000,259.000000 -31.000000C202.000000 -32.000000,191.000000 -52.000000,191.000000 -75.000000C191.000000 -82.000000,192.000000 -87.000000,195.000000 -98.000000L331.000000 -643.000000L332.000000 -643.000000L418.000000 -23.000000C420.000000 -11.000000,421.000000 -0.000000,433.000000 -0.000000C444.000000 -0.000000,450.000000 -11.000000,455.000000 -18.000000L859.000000 -651.000000L860.000000 -651.000000L717.000000 -78.000000C707.000000 -39.000000,705.000000 -31.000000,626.000000 -31.000000C609.000000 -31.000000,598.000000 -31.000000,598.000000 -12.000000C598.000000 -0.000000,610.000000 -0.000000,613.000000 -0.000000L737.000000 -0.000000L641.000000 -0.000000L709.000000 -3.000000L737.000000 -3.000000L778.000000 -3.000000L821.000000 -0.000000L862.000000 -0.000000C868.000000 -0.000000,881.000000 -0.000000,881.000000 -20.000000C881.000000 -31.000000,872.000000 -31.000000,853.000000 -31.000000C816.000000 -31.000000,788.000000 -31.000000,788.000000 -49.000000C788.000000 -53.000000,788.000000 -55.000000,793.000000 -73.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_78">
      <path style="fill-rule: evenodd;" d="M756.000000 -578.000000C766.000000 -618.000000,784.000000 -649.000000,864.000000 -652.000000C869.000000 -652.000000,881.000000 -653.000000,881.000000 -672.000000C881.000000 -673.000000,881.000000 -683.000000,868.000000 -683.000000L767.000000 -683.000000L835.000000 -683.000000L800.000000 -680.000000L767.000000 -680.000000L733.000000 -680.000000L698.000000 -683.000000L665.000000 -683.000000C659.000000 -683.000000,647.000000 -683.000000,647.000000 -663.000000C647.000000 -652.000000,657.000000 -652.000000,665.000000 -652.000000C722.000000 -651.000000,733.000000 -630.000000,733.000000 -608.000000C733.000000 -605.000000,731.000000 -590.000000,730.000000 -587.000000L618.000000 -142.000000L397.000000 -664.000000C389.000000 -682.000000,388.000000 -683.000000,365.000000 -683.000000L231.000000 -683.000000C211.000000 -683.000000,202.000000 -683.000000,202.000000 -663.000000C202.000000 -652.000000,211.000000 -652.000000,230.000000 -652.000000C235.000000 -652.000000,298.000000 -652.000000,298.000000 -643.000000L164.000000 -106.000000C154.000000 -66.000000,137.000000 -34.000000,56.000000 -31.000000C50.000000 -31.000000,39.000000 -30.000000,39.000000 -11.000000C39.000000 -4.000000,44.000000 -0.000000,52.000000 -0.000000L152.000000 -0.000000L84.000000 -0.000000L119.000000 -3.000000L152.000000 -3.000000L186.000000 -3.000000L222.000000 -0.000000L255.000000 -0.000000C260.000000 -0.000000,273.000000 -0.000000,273.000000 -20.000000C273.000000 -30.000000,264.000000 -31.000000,253.000000 -31.000000C195.000000 -33.000000,187.000000 -55.000000,187.000000 -75.000000C187.000000 -82.000000,188.000000 -87.000000,191.000000 -98.000000L323.000000 -626.000000C327.000000 -620.000000,327.000000 -618.000000,332.000000 -608.000000L581.000000 -19.000000C588.000000 -2.000000,591.000000 -0.000000,600.000000 -0.000000C611.000000 -0.000000,611.000000 -3.000000,616.000000 -21.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.492386 1.986282)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_112"></use>
  </g>
  <path d="M13.775955 1.667404L45.523605 1.667404" style="stroke:rgb(0.000000%,0.000000%,0.000000%); stroke-width: 0.637604;stroke-linejoin: round;stroke-miterlimit: 10.000000;fill: none;"></path>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,13.775955 15.482330)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_77"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,30.978119 15.482330)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_78"></use>
  </g>
</svg></span>.  Especially in image processing
applications the DC term is shifted to the center of the image.
</p>
<p><code><span data-if="hdevelop" style="display:inline">fft_generic</span><span data-if="c" style="display:none">fft_generic</span><span data-if="cpp" style="display:none">FftGeneric</span><span data-if="com" style="display:none">FftGeneric</span><span data-if="dotnet" style="display:none">FftGeneric</span><span data-if="python" style="display:none">fft_generic</span></code> allows to select these choices individually.
The parameter <a href="#Direction"><i><code><span data-if="hdevelop" style="display:inline">Direction</span><span data-if="c" style="display:none">Direction</span><span data-if="cpp" style="display:none">Direction</span><span data-if="com" style="display:none">Direction</span><span data-if="dotnet" style="display:none">direction</span><span data-if="python" style="display:none">direction</span></code></i></a> allows to select the logical
direction of the FFT.  (This parameter is not unnecessary; it is
needed to discern how to shift the image if the DC term should rest
in the center of the image.)  Possible values are <i><span data-if="hdevelop" style="display:inline">'to_freq'</span><span data-if="c" style="display:none">"to_freq"</span><span data-if="cpp" style="display:none">"to_freq"</span><span data-if="com" style="display:none">"to_freq"</span><span data-if="dotnet" style="display:none">"to_freq"</span><span data-if="python" style="display:none">"to_freq"</span></i>
and <i><span data-if="hdevelop" style="display:inline">'from_freq'</span><span data-if="c" style="display:none">"from_freq"</span><span data-if="cpp" style="display:none">"from_freq"</span><span data-if="com" style="display:none">"from_freq"</span><span data-if="dotnet" style="display:none">"from_freq"</span><span data-if="python" style="display:none">"from_freq"</span></i>.  The parameter <a href="#Exponent"><i><code><span data-if="hdevelop" style="display:inline">Exponent</span><span data-if="c" style="display:none">Exponent</span><span data-if="cpp" style="display:none">Exponent</span><span data-if="com" style="display:none">Exponent</span><span data-if="dotnet" style="display:none">exponent</span><span data-if="python" style="display:none">exponent</span></code></i></a> is used
to determine the sign of the exponent.  It can be set to 1 or -1.
The normalizing factor can be set with <a href="#Norm"><i><code><span data-if="hdevelop" style="display:inline">Norm</span><span data-if="c" style="display:none">Norm</span><span data-if="cpp" style="display:none">Norm</span><span data-if="com" style="display:none">Norm</span><span data-if="dotnet" style="display:none">norm</span><span data-if="python" style="display:none">norm</span></code></i></a>, and can take
on the values <i><span data-if="hdevelop" style="display:inline">'none'</span><span data-if="c" style="display:none">"none"</span><span data-if="cpp" style="display:none">"none"</span><span data-if="com" style="display:none">"none"</span><span data-if="dotnet" style="display:none">"none"</span><span data-if="python" style="display:none">"none"</span></i>, <i><span data-if="hdevelop" style="display:inline">'sqrt'</span><span data-if="c" style="display:none">"sqrt"</span><span data-if="cpp" style="display:none">"sqrt"</span><span data-if="com" style="display:none">"sqrt"</span><span data-if="dotnet" style="display:none">"sqrt"</span><span data-if="python" style="display:none">"sqrt"</span></i> and <i><span data-if="hdevelop" style="display:inline">'n'</span><span data-if="c" style="display:none">"n"</span><span data-if="cpp" style="display:none">"n"</span><span data-if="com" style="display:none">"n"</span><span data-if="dotnet" style="display:none">"n"</span><span data-if="python" style="display:none">"n"</span></i>.
The parameter <a href="#Mode"><i><code><span data-if="hdevelop" style="display:inline">Mode</span><span data-if="c" style="display:none">Mode</span><span data-if="cpp" style="display:none">Mode</span><span data-if="com" style="display:none">Mode</span><span data-if="dotnet" style="display:none">mode</span><span data-if="python" style="display:none">mode</span></code></i></a> determines the location of the DC term
of the FFT.  It can be set to <i><span data-if="hdevelop" style="display:inline">'dc_center'</span><span data-if="c" style="display:none">"dc_center"</span><span data-if="cpp" style="display:none">"dc_center"</span><span data-if="com" style="display:none">"dc_center"</span><span data-if="dotnet" style="display:none">"dc_center"</span><span data-if="python" style="display:none">"dc_center"</span></i> or
<i><span data-if="hdevelop" style="display:inline">'dc_edge'</span><span data-if="c" style="display:none">"dc_edge"</span><span data-if="cpp" style="display:none">"dc_edge"</span><span data-if="com" style="display:none">"dc_edge"</span><span data-if="dotnet" style="display:none">"dc_edge"</span><span data-if="python" style="display:none">"dc_edge"</span></i>.
</p>
<p>In any case, the user must ensure the consistent use of the
parameters.  This means that the normalizing factors used for the
forward and backward transform must yield M*N when
multiplied, the exponents must be of opposite sign, and
<a href="#Mode"><i><code><span data-if="hdevelop" style="display:inline">Mode</span><span data-if="c" style="display:none">Mode</span><span data-if="cpp" style="display:none">Mode</span><span data-if="com" style="display:none">Mode</span><span data-if="dotnet" style="display:none">mode</span><span data-if="python" style="display:none">mode</span></code></i></a> must be equal for both transforms.
</p>
<p>A consistent combination is, for example
<i><span data-if="hdevelop" style="display:inline">'(to_freq,-1,n,dc_edge)'</span><span data-if="c" style="display:none">"(to_freq,-1,n,dc_edge)"</span><span data-if="cpp" style="display:none">"(to_freq,-1,n,dc_edge)"</span><span data-if="com" style="display:none">"(to_freq,-1,n,dc_edge)"</span><span data-if="dotnet" style="display:none">"(to_freq,-1,n,dc_edge)"</span><span data-if="python" style="display:none">"(to_freq,-1,n,dc_edge)"</span></i> for the forward transform and
<i><span data-if="hdevelop" style="display:inline">'(from_freq,1,none,dc_edge)'</span><span data-if="c" style="display:none">"(from_freq,1,none,dc_edge)"</span><span data-if="cpp" style="display:none">"(from_freq,1,none,dc_edge)"</span><span data-if="com" style="display:none">"(from_freq,1,none,dc_edge)"</span><span data-if="dotnet" style="display:none">"(from_freq,1,none,dc_edge)"</span><span data-if="python" style="display:none">"(from_freq,1,none,dc_edge)"</span></i> for the reverse transform.
In this case, the FFT can be interpreted as interpolation with
trigonometric basis functions.  Another possible combination is
<i><span data-if="hdevelop" style="display:inline">'(to_freq,-1,sqrt,dc_center)'</span><span data-if="c" style="display:none">"(to_freq,-1,sqrt,dc_center)"</span><span data-if="cpp" style="display:none">"(to_freq,-1,sqrt,dc_center)"</span><span data-if="com" style="display:none">"(to_freq,-1,sqrt,dc_center)"</span><span data-if="dotnet" style="display:none">"(to_freq,-1,sqrt,dc_center)"</span><span data-if="python" style="display:none">"(to_freq,-1,sqrt,dc_center)"</span></i> and
<i><span data-if="hdevelop" style="display:inline">'(from_freq,1,sqrt,dc_center)'</span><span data-if="c" style="display:none">"(from_freq,1,sqrt,dc_center)"</span><span data-if="cpp" style="display:none">"(from_freq,1,sqrt,dc_center)"</span><span data-if="com" style="display:none">"(from_freq,1,sqrt,dc_center)"</span><span data-if="dotnet" style="display:none">"(from_freq,1,sqrt,dc_center)"</span><span data-if="python" style="display:none">"(from_freq,1,sqrt,dc_center)"</span></i>.
</p>
<p>The parameter <a href="#ResultType"><i><code><span data-if="hdevelop" style="display:inline">ResultType</span><span data-if="c" style="display:none">ResultType</span><span data-if="cpp" style="display:none">ResultType</span><span data-if="com" style="display:none">ResultType</span><span data-if="dotnet" style="display:none">resultType</span><span data-if="python" style="display:none">result_type</span></code></i></a> can be used to specify the result
image type of the reverse transform (<a href="#Direction"><i><code><span data-if="hdevelop" style="display:inline">Direction</span><span data-if="c" style="display:none">Direction</span><span data-if="cpp" style="display:none">Direction</span><span data-if="com" style="display:none">Direction</span><span data-if="dotnet" style="display:none">direction</span><span data-if="python" style="display:none">direction</span></code></i></a> =
<i><span data-if="hdevelop" style="display:inline">'from_freq'</span><span data-if="c" style="display:none">"from_freq"</span><span data-if="cpp" style="display:none">"from_freq"</span><span data-if="com" style="display:none">"from_freq"</span><span data-if="dotnet" style="display:none">"from_freq"</span><span data-if="python" style="display:none">"from_freq"</span></i>).  In the forward transform (<a href="#Direction"><i><code><span data-if="hdevelop" style="display:inline">Direction</span><span data-if="c" style="display:none">Direction</span><span data-if="cpp" style="display:none">Direction</span><span data-if="com" style="display:none">Direction</span><span data-if="dotnet" style="display:none">direction</span><span data-if="python" style="display:none">direction</span></code></i></a>
= <i><span data-if="hdevelop" style="display:inline">'to_freq'</span><span data-if="c" style="display:none">"to_freq"</span><span data-if="cpp" style="display:none">"to_freq"</span><span data-if="com" style="display:none">"to_freq"</span><span data-if="dotnet" style="display:none">"to_freq"</span><span data-if="python" style="display:none">"to_freq"</span></i>), <a href="#ResultType"><i><code><span data-if="hdevelop" style="display:inline">ResultType</span><span data-if="c" style="display:none">ResultType</span><span data-if="cpp" style="display:none">ResultType</span><span data-if="com" style="display:none">ResultType</span><span data-if="dotnet" style="display:none">resultType</span><span data-if="python" style="display:none">result_type</span></code></i></a> must be set to
<i><span data-if="hdevelop" style="display:inline">'complex'</span><span data-if="c" style="display:none">"complex"</span><span data-if="cpp" style="display:none">"complex"</span><span data-if="com" style="display:none">"complex"</span><span data-if="dotnet" style="display:none">"complex"</span><span data-if="python" style="display:none">"complex"</span></i>.</p>
<h2 id="sec_attention">注意</h2>
<p>The transformation is always performed for the entire image, i.e., the
domain of the image is ignored.</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>在元组级别自动并行化。</li>
    <li>在图像通道级别自动并行化。</li>
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Image" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></b> (input_object)  </span><span>(multichannel-)image(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject</span> (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real / complex)</span>
</div>
<p class="pardesc">Input image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="ImageFFT" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ImageFFT</span><span data-if="c" style="display:none">ImageFFT</span><span data-if="cpp" style="display:none">ImageFFT</span><span data-if="com" style="display:none">ImageFFT</span><span data-if="dotnet" style="display:none">imageFFT</span><span data-if="python" style="display:none">image_fft</span></code></b> (output_object)  </span><span>image(-array) <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject *</span> (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real / complex)</span>
</div>
<p class="pardesc">Fourier-transformed image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Direction" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Direction</span><span data-if="c" style="display:none">Direction</span><span data-if="cpp" style="display:none">Direction</span><span data-if="com" style="display:none">Direction</span><span data-if="dotnet" style="display:none">direction</span><span data-if="python" style="display:none">direction</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Calculate forward or reverse transform.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'to_freq'</span>
    <span data-if="c" style="display:none">"to_freq"</span>
    <span data-if="cpp" style="display:none">"to_freq"</span>
    <span data-if="com" style="display:none">"to_freq"</span>
    <span data-if="dotnet" style="display:none">"to_freq"</span>
    <span data-if="python" style="display:none">"to_freq"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'from_freq'</span><span data-if="c" style="display:none">"from_freq"</span><span data-if="cpp" style="display:none">"from_freq"</span><span data-if="com" style="display:none">"from_freq"</span><span data-if="dotnet" style="display:none">"from_freq"</span><span data-if="python" style="display:none">"from_freq"</span>, <span data-if="hdevelop" style="display:inline">'to_freq'</span><span data-if="c" style="display:none">"to_freq"</span><span data-if="cpp" style="display:none">"to_freq"</span><span data-if="com" style="display:none">"to_freq"</span><span data-if="dotnet" style="display:none">"to_freq"</span><span data-if="python" style="display:none">"to_freq"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Exponent" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Exponent</span><span data-if="c" style="display:none">Exponent</span><span data-if="cpp" style="display:none">Exponent</span><span data-if="com" style="display:none">Exponent</span><span data-if="dotnet" style="display:none">exponent</span><span data-if="python" style="display:none">exponent</span></code></b> (input_control)  </span><span>integer <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">int</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i>)</span><span data-if="c" style="display:none"> (<i>Hlong</i>)</span></span>
</div>
<p class="pardesc">Sign of the exponent.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>-1</p>
<p class="pardesc"><span class="parcat">List of values:
      </span>-1, 1</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Norm" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Norm</span><span data-if="c" style="display:none">Norm</span><span data-if="cpp" style="display:none">Norm</span><span data-if="com" style="display:none">Norm</span><span data-if="dotnet" style="display:none">norm</span><span data-if="python" style="display:none">norm</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Normalizing factor of the transform.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'sqrt'</span>
    <span data-if="c" style="display:none">"sqrt"</span>
    <span data-if="cpp" style="display:none">"sqrt"</span>
    <span data-if="com" style="display:none">"sqrt"</span>
    <span data-if="dotnet" style="display:none">"sqrt"</span>
    <span data-if="python" style="display:none">"sqrt"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'n'</span><span data-if="c" style="display:none">"n"</span><span data-if="cpp" style="display:none">"n"</span><span data-if="com" style="display:none">"n"</span><span data-if="dotnet" style="display:none">"n"</span><span data-if="python" style="display:none">"n"</span>, <span data-if="hdevelop" style="display:inline">'none'</span><span data-if="c" style="display:none">"none"</span><span data-if="cpp" style="display:none">"none"</span><span data-if="com" style="display:none">"none"</span><span data-if="dotnet" style="display:none">"none"</span><span data-if="python" style="display:none">"none"</span>, <span data-if="hdevelop" style="display:inline">'sqrt'</span><span data-if="c" style="display:none">"sqrt"</span><span data-if="cpp" style="display:none">"sqrt"</span><span data-if="com" style="display:none">"sqrt"</span><span data-if="dotnet" style="display:none">"sqrt"</span><span data-if="python" style="display:none">"sqrt"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Mode" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Mode</span><span data-if="c" style="display:none">Mode</span><span data-if="cpp" style="display:none">Mode</span><span data-if="com" style="display:none">Mode</span><span data-if="dotnet" style="display:none">mode</span><span data-if="python" style="display:none">mode</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Location of the DC term in the frequency domain.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'dc_center'</span>
    <span data-if="c" style="display:none">"dc_center"</span>
    <span data-if="cpp" style="display:none">"dc_center"</span>
    <span data-if="com" style="display:none">"dc_center"</span>
    <span data-if="dotnet" style="display:none">"dc_center"</span>
    <span data-if="python" style="display:none">"dc_center"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'dc_center'</span><span data-if="c" style="display:none">"dc_center"</span><span data-if="cpp" style="display:none">"dc_center"</span><span data-if="com" style="display:none">"dc_center"</span><span data-if="dotnet" style="display:none">"dc_center"</span><span data-if="python" style="display:none">"dc_center"</span>, <span data-if="hdevelop" style="display:inline">'dc_edge'</span><span data-if="c" style="display:none">"dc_edge"</span><span data-if="cpp" style="display:none">"dc_edge"</span><span data-if="com" style="display:none">"dc_edge"</span><span data-if="dotnet" style="display:none">"dc_edge"</span><span data-if="python" style="display:none">"dc_edge"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="ResultType" class="parname"><b><code><span data-if="hdevelop" style="display:inline">ResultType</span><span data-if="c" style="display:none">ResultType</span><span data-if="cpp" style="display:none">ResultType</span><span data-if="com" style="display:none">ResultType</span><span data-if="dotnet" style="display:none">resultType</span><span data-if="python" style="display:none">result_type</span></code></b> (input_control)  </span><span>string <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">str</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Image type of the output image.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'complex'</span>
    <span data-if="c" style="display:none">"complex"</span>
    <span data-if="cpp" style="display:none">"complex"</span>
    <span data-if="com" style="display:none">"complex"</span>
    <span data-if="dotnet" style="display:none">"complex"</span>
    <span data-if="python" style="display:none">"complex"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'byte'</span><span data-if="c" style="display:none">"byte"</span><span data-if="cpp" style="display:none">"byte"</span><span data-if="com" style="display:none">"byte"</span><span data-if="dotnet" style="display:none">"byte"</span><span data-if="python" style="display:none">"byte"</span>, <span data-if="hdevelop" style="display:inline">'complex'</span><span data-if="c" style="display:none">"complex"</span><span data-if="cpp" style="display:none">"complex"</span><span data-if="com" style="display:none">"complex"</span><span data-if="dotnet" style="display:none">"complex"</span><span data-if="python" style="display:none">"complex"</span>, <span data-if="hdevelop" style="display:inline">'cyclic'</span><span data-if="c" style="display:none">"cyclic"</span><span data-if="cpp" style="display:none">"cyclic"</span><span data-if="com" style="display:none">"cyclic"</span><span data-if="dotnet" style="display:none">"cyclic"</span><span data-if="python" style="display:none">"cyclic"</span>, <span data-if="hdevelop" style="display:inline">'direction'</span><span data-if="c" style="display:none">"direction"</span><span data-if="cpp" style="display:none">"direction"</span><span data-if="com" style="display:none">"direction"</span><span data-if="dotnet" style="display:none">"direction"</span><span data-if="python" style="display:none">"direction"</span>, <span data-if="hdevelop" style="display:inline">'int1'</span><span data-if="c" style="display:none">"int1"</span><span data-if="cpp" style="display:none">"int1"</span><span data-if="com" style="display:none">"int1"</span><span data-if="dotnet" style="display:none">"int1"</span><span data-if="python" style="display:none">"int1"</span>, <span data-if="hdevelop" style="display:inline">'int2'</span><span data-if="c" style="display:none">"int2"</span><span data-if="cpp" style="display:none">"int2"</span><span data-if="com" style="display:none">"int2"</span><span data-if="dotnet" style="display:none">"int2"</span><span data-if="python" style="display:none">"int2"</span>, <span data-if="hdevelop" style="display:inline">'int4'</span><span data-if="c" style="display:none">"int4"</span><span data-if="cpp" style="display:none">"int4"</span><span data-if="com" style="display:none">"int4"</span><span data-if="dotnet" style="display:none">"int4"</span><span data-if="python" style="display:none">"int4"</span>, <span data-if="hdevelop" style="display:inline">'real'</span><span data-if="c" style="display:none">"real"</span><span data-if="cpp" style="display:none">"real"</span><span data-if="com" style="display:none">"real"</span><span data-if="dotnet" style="display:none">"real"</span><span data-if="python" style="display:none">"real"</span>, <span data-if="hdevelop" style="display:inline">'uint2'</span><span data-if="c" style="display:none">"uint2"</span><span data-if="cpp" style="display:none">"uint2"</span><span data-if="com" style="display:none">"uint2"</span><span data-if="dotnet" style="display:none">"uint2"</span><span data-if="python" style="display:none">"uint2"</span></p>
</div>
<h2 id="sec_example_all">例程 (C)</h2>
<pre class="example">
/* simulation of fft_image */
void my_fft(Hobject In, Hobject *Out)
{
  fft_generic(In,Out,"to_freq",-1,"sqrt","dc_center","complex");
}

/* simulation of fft_image_inv */
void my_fft_image_inv(Hobject In, Hobject *Out)
{
  fft_generic(In,Out,"from_freq",1,"sqrt","dc_center","byte");
}
</pre>
<h2 id="sec_result">结果</h2>
<p><code><span data-if="hdevelop" style="display:inline">fft_generic</span><span data-if="c" style="display:none">fft_generic</span><span data-if="cpp" style="display:none">FftGeneric</span><span data-if="com" style="display:none">FftGeneric</span><span data-if="dotnet" style="display:none">FftGeneric</span><span data-if="python" style="display:none">fft_generic</span></code> returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
     if all parameters are correct.  If
the input is empty the behavior can be set via
<a href="set_system.html"><code><span data-if="hdevelop" style="display:inline">set_system(::'no_object_result',&lt;Result&gt;:)</span><span data-if="c" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span><span data-if="cpp" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="com" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="dotnet" style="display:none">SetSystem("no_object_result",&lt;Result&gt;)</span><span data-if="python" style="display:none">set_system("no_object_result",&lt;Result&gt;)</span></code></a>.  If necessary,
an exception is raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="optimize_fft_speed.html"><span data-if="hdevelop" style="display:inline">optimize_fft_speed</span><span data-if="c" style="display:none">optimize_fft_speed</span><span data-if="cpp" style="display:none">OptimizeFftSpeed</span><span data-if="com" style="display:none">OptimizeFftSpeed</span><span data-if="dotnet" style="display:none">OptimizeFftSpeed</span><span data-if="python" style="display:none">optimize_fft_speed</span></a></code>, 
<code><a href="read_fft_optimization_data.html"><span data-if="hdevelop" style="display:inline">read_fft_optimization_data</span><span data-if="c" style="display:none">read_fft_optimization_data</span><span data-if="cpp" style="display:none">ReadFftOptimizationData</span><span data-if="com" style="display:none">ReadFftOptimizationData</span><span data-if="dotnet" style="display:none">ReadFftOptimizationData</span><span data-if="python" style="display:none">read_fft_optimization_data</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="convol_fft.html"><span data-if="hdevelop" style="display:inline">convol_fft</span><span data-if="c" style="display:none">convol_fft</span><span data-if="cpp" style="display:none">ConvolFft</span><span data-if="com" style="display:none">ConvolFft</span><span data-if="dotnet" style="display:none">ConvolFft</span><span data-if="python" style="display:none">convol_fft</span></a></code>, 
<code><a href="correlation_fft.html"><span data-if="hdevelop" style="display:inline">correlation_fft</span><span data-if="c" style="display:none">correlation_fft</span><span data-if="cpp" style="display:none">CorrelationFft</span><span data-if="com" style="display:none">CorrelationFft</span><span data-if="dotnet" style="display:none">CorrelationFft</span><span data-if="python" style="display:none">correlation_fft</span></a></code>, 
<code><a href="phase_correlation_fft.html"><span data-if="hdevelop" style="display:inline">phase_correlation_fft</span><span data-if="c" style="display:none">phase_correlation_fft</span><span data-if="cpp" style="display:none">PhaseCorrelationFft</span><span data-if="com" style="display:none">PhaseCorrelationFft</span><span data-if="dotnet" style="display:none">PhaseCorrelationFft</span><span data-if="python" style="display:none">phase_correlation_fft</span></a></code>, 
<code><a href="convol_gabor.html"><span data-if="hdevelop" style="display:inline">convol_gabor</span><span data-if="c" style="display:none">convol_gabor</span><span data-if="cpp" style="display:none">ConvolGabor</span><span data-if="com" style="display:none">ConvolGabor</span><span data-if="dotnet" style="display:none">ConvolGabor</span><span data-if="python" style="display:none">convol_gabor</span></a></code>, 
<code><a href="convert_image_type.html"><span data-if="hdevelop" style="display:inline">convert_image_type</span><span data-if="c" style="display:none">convert_image_type</span><span data-if="cpp" style="display:none">ConvertImageType</span><span data-if="com" style="display:none">ConvertImageType</span><span data-if="dotnet" style="display:none">ConvertImageType</span><span data-if="python" style="display:none">convert_image_type</span></a></code>, 
<code><a href="power_byte.html"><span data-if="hdevelop" style="display:inline">power_byte</span><span data-if="c" style="display:none">power_byte</span><span data-if="cpp" style="display:none">PowerByte</span><span data-if="com" style="display:none">PowerByte</span><span data-if="dotnet" style="display:none">PowerByte</span><span data-if="python" style="display:none">power_byte</span></a></code>, 
<code><a href="power_real.html"><span data-if="hdevelop" style="display:inline">power_real</span><span data-if="c" style="display:none">power_real</span><span data-if="cpp" style="display:none">PowerReal</span><span data-if="com" style="display:none">PowerReal</span><span data-if="dotnet" style="display:none">PowerReal</span><span data-if="python" style="display:none">power_real</span></a></code>, 
<code><a href="power_ln.html"><span data-if="hdevelop" style="display:inline">power_ln</span><span data-if="c" style="display:none">power_ln</span><span data-if="cpp" style="display:none">PowerLn</span><span data-if="com" style="display:none">PowerLn</span><span data-if="dotnet" style="display:none">PowerLn</span><span data-if="python" style="display:none">power_ln</span></a></code>, 
<code><a href="phase_deg.html"><span data-if="hdevelop" style="display:inline">phase_deg</span><span data-if="c" style="display:none">phase_deg</span><span data-if="cpp" style="display:none">PhaseDeg</span><span data-if="com" style="display:none">PhaseDeg</span><span data-if="dotnet" style="display:none">PhaseDeg</span><span data-if="python" style="display:none">phase_deg</span></a></code>, 
<code><a href="phase_rad.html"><span data-if="hdevelop" style="display:inline">phase_rad</span><span data-if="c" style="display:none">phase_rad</span><span data-if="cpp" style="display:none">PhaseRad</span><span data-if="com" style="display:none">PhaseRad</span><span data-if="dotnet" style="display:none">PhaseRad</span><span data-if="python" style="display:none">phase_rad</span></a></code>, 
<code><a href="energy_gabor.html"><span data-if="hdevelop" style="display:inline">energy_gabor</span><span data-if="c" style="display:none">energy_gabor</span><span data-if="cpp" style="display:none">EnergyGabor</span><span data-if="com" style="display:none">EnergyGabor</span><span data-if="dotnet" style="display:none">EnergyGabor</span><span data-if="python" style="display:none">energy_gabor</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="fft_image.html"><span data-if="hdevelop" style="display:inline">fft_image</span><span data-if="c" style="display:none">fft_image</span><span data-if="cpp" style="display:none">FftImage</span><span data-if="com" style="display:none">FftImage</span><span data-if="dotnet" style="display:none">FftImage</span><span data-if="python" style="display:none">fft_image</span></a></code>, 
<code><a href="fft_image_inv.html"><span data-if="hdevelop" style="display:inline">fft_image_inv</span><span data-if="c" style="display:none">fft_image_inv</span><span data-if="cpp" style="display:none">FftImageInv</span><span data-if="com" style="display:none">FftImageInv</span><span data-if="dotnet" style="display:none">FftImageInv</span><span data-if="python" style="display:none">fft_image_inv</span></a></code>, 
<code><a href="rft_generic.html"><span data-if="hdevelop" style="display:inline">rft_generic</span><span data-if="c" style="display:none">rft_generic</span><span data-if="cpp" style="display:none">RftGeneric</span><span data-if="com" style="display:none">RftGeneric</span><span data-if="dotnet" style="display:none">RftGeneric</span><span data-if="python" style="display:none">rft_generic</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
